package com.cskaoyan.service;

import com.cskaoyan.bean.entity.Category;
import com.cskaoyan.bean.entity.Goods;
import com.cskaoyan.bean.vo.*;

import java.util.List;

public interface CategoryService {

    // 查询所有的商品类目信息
    BasePageData<CategoryInfoVo> query();

    // 获取商品类目的名字和编号
    BasePageData<CategoryIdAndNameVo> selectNameAndId();

    // 新增类目
    Category insert(Category category);

    // 编辑类目
    void update(Category category);

    // 删除类目
    void delete(Category category);

    // 查询商品类目，当前类别，当前类别的子类别
    CatalogIndexVo queryCatalogIndex();

    // 通过market_category表类目的id,查询商品当前类别，当前类别的子类别
    CatalogIndexVo queryCatalogCurrent(Integer id);

    // 根据当前类目获取其类目信息，父类目信息，和关联类目信息
    WxGetCategoryInfoAccordingToGoodsCategoryVo getCategoryInfo(Integer id);

    // 根据类目id获取类目下的商品
    List<Goods> getGoodsInfo(Integer secondCategoryId,Integer brandId,String keyword,BaseParam baseParam);

    // 根据类目id获取所有的brother类目
    List<Category> getAllSecondCategory(Integer categoryId,Integer brandId, String keyword,BaseParam baseParam);

    // 获取所有的一级类目列表
    List<Category> getAllLevelOneCategorys();
}
